home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1990-12-17 | 966 b | 23 lines |
- 100 SCREEN 0,1:WIDTH 80:COLOR 11,4,4:CLS:PROGRAM$="ROMAN"
- 110 PRINT TAB(13) "Enter a number between 1 and 4999999, or 0 to end":COLOR 14
- 120 PRINT:PRINT TAB(24) "Arabic Roman" TAB(24) "THENTHENTHENTHENTHENTHEN THENTHENTHENTHENTHEN"
- 130 DEF SEG=&H40:POKE &H17,(PEEK(&H17) OR &H20):DEF SEG 'numlock on
- 140 DIM ARAB!(25),ROM$(25): FOR X=1 TO 16: READ ARAB!(X),ROM$(X): NEXT X
- 160 FOR X=17 TO 25:ARAB!(X)=ARAB!(X-12)*1000:ROM$(X)=ROM$(X-12):NEXT X
- 170 LOCATE 5:COLOR 15
- 180 WHILE 1>0 'endless loop
- 190 PRINT:INPUT;" ",NUMB:LOCATE ,38
- 200 IF NUMB=0 THEN DEF SEG=&H40:POKE &H17,(PEEK(&H17) AND &HDF):END 'quit
- 210 IF NUMB>5E+06 THEN PRINT "Larger than ";:NUMB=5E+06
- 220 FOR X=25 TO 1 STEP -1
- 230 WHILE NUMB>=ARAB!(X):PRINT ROM$(X);:NUMB=NUMB-ARAB!(X)
- 240 IF ARAB!(X)<9001 THEN CAP$="_" ELSE CAP$=STRING$(LEN(ROM$(X)),"_")
- 250 L=CSRLIN: P=POS(N)-LEN(CAP$)
- 260 IF ARAB!(X)>3999 THEN LOCATE L-1,P:PRINT CAP$;:LOCATE L
- 270 WEND
- 280 NEXT X
- 290 PRINT
- 300 WEND
- 310 DATA 1,"I",4,"IV",5,"V",9,"IX",10,"X",40,"XL",50,"L",90,"XC",100,"C"
- 320 DATA 400,"CD",500,"D",900,"CM",1000,"M",4000,"MV",5000,"V",9000,"MX"
-